/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.upc.dew.proyecto.dao;

import pe.edu.upc.dew.proyecto.model.Usuario;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import pe.edu.upc.dew.proyecto.bd.Conexion;

/**
 *
 * @author Fernando
 */
public class UsuarioDaoImpl implements UsuarioDao{


    public Usuario getUsuarioPorUsername(String username) {

     Usuario usuario = new Usuario();

     Connection connection = null;
     Statement st = null;
     ResultSet rsUsuario = null;
     try {
         connection= Conexion.obtenerConexion();
         st = connection.createStatement();
         rsUsuario = st.executeQuery("select * from USUARIO where username ='"+username+"'");
         if (rsUsuario.next()){
             usuario.setUsername(rsUsuario.getString("UserName"));
             usuario.setPassword(rsUsuario.getString("npassword"));
             usuario.setTipo(rsUsuario.getString("Tipo"));
             usuario.setCoPersona(rsUsuario.getInt("Copersona") );
         }
         else{
             usuario = null;
         }
     }
     catch (Exception e){
        e.printStackTrace();
     }
     finally {
            Conexion.closeResultSet(rsUsuario);
            Conexion.closeStatement(st);
            Conexion.closeConnection(connection);
     }




//     if (username.equals("ccarrion")){
//
//        usuario.setIdUsuario(1);
//        usuario.setUsername("ccarrion");
//        usuario.setPassword("123");
//        usuario.setNombre("Carrion");
//        usuario.setApellidoPaterno("Gonzales");
//        usuario.setApellidoMaterno("Dante");
//        usuario.setTipo("M");
//
//        Rol rol = new Rol();
//        rol.setIdRol(1);
//        rol.setNombre("ADMIN");
//        usuario.getRoles().add(rol);
//
//        rol = new Rol();
//        rol.setIdRol(2);
//        rol.setNombre("OPERADOR");
//        usuario.getRoles().add(rol);
//
//     }
//        else{
//        usuario.setIdUsuario(1);
//        usuario.setUsername("fbautista");
//        usuario.setPassword("123");
//        usuario.setNombre("Fernando");
//        usuario.setApellidoPaterno("Bautista");
//        usuario.setApellidoMaterno("Bautista");
//        usuario.setTipo("P");
//
//        Rol rol = new Rol();
//        rol.setIdRol(1);
//        rol.setNombre("ADMIN");
//        usuario.getRoles().add(rol);
//
//        rol = new Rol();
//        rol.setIdRol(2);
//        rol.setNombre("OPERADOR");
//        usuario.getRoles().add(rol);
//
//
//        }
        return usuario;
    }
    public Usuario getUsuarioPorCoPersona(int coPersona) {

     Usuario usuario = new Usuario();

     Connection connection = null;
     Statement st = null;
     ResultSet rsUsuario = null;
     try {
         connection= Conexion.obtenerConexion();
         st = connection.createStatement();
         rsUsuario = st.executeQuery("select * from USUARIO where copersona ="+String.valueOf(coPersona) );
         if (rsUsuario.next()){
             usuario.setUsername(rsUsuario.getString("UserName"));
             usuario.setPassword(rsUsuario.getString("npassword"));
             usuario.setTipo(rsUsuario.getString("Tipo"));
             usuario.setCoPersona(rsUsuario.getInt("Copersona") );
         }
         else{
             usuario = null;
         }
     }
     catch (Exception e){
        e.printStackTrace();
     }
     finally {
            Conexion.closeResultSet(rsUsuario);
            Conexion.closeStatement(st);
            Conexion.closeConnection(connection);
     }
     return usuario;
    }
}
